A typical wireless communication system includes one or more base stations, each radiating to define one or more coverage areas, such as cells and cell sectors, in which user equipment devices (UEs) such as cell phones, tablet computers, tracking devices, embedded wireless modules, and other wirelessly equipped communication devices (whether or not user operated), can operate. Further, each base station of the system may then be coupled or communicatively linked with network infrastructure such as a switch and/or a gateway that provides connectivity with one or more transport networks, such as the public switched telephone network (PSTN) and/or the Internet for instance. With this arrangement, a UE within coverage of the system may thus engage in air interface communication with a base station and thereby communicate via the base station with various remote network entities or with other UEs served by the system.
In general, a wireless communication system may operate in accordance with a particular air interface protocol or radio access technology, with communications from a base station to UEs defining a downlink or forward link and communications from the UEs to the base station defining an uplink or reverse link. Examples of existing air interface protocols include, without limitation, Orthogonal Frequency Division Multiple Access (OFDMA) (e.g., Long Term Evolution (LTE) or Wireless Interoperability for Microwave Access (WiMAX)), Code Division Multiple Access (CDMA) (e.g., 1×RTT and 1×EV-DO), Global System for Mobile Communication (GSM), WI-FI, and BLUETOOTH. Each protocol may define its own procedures for registration of UEs, initiation of communications, handover between coverage areas, and functions related to air interface communication.
In accordance with the air interface protocol, each of the one or more coverage areas of such a system may operate on one or more carrier frequencies and may define a number of air interface channels for carrying information between the base station and UEs. By way of example, each coverage area may define a pilot channel, reference channel or other resource on which the base station may broadcast a pilot signal, reference signal, or the like that UEs may detect as an indication of coverage and may measure to evaluate coverage strength. Further, each coverage area may define downlink control channels for carrying system information, page messages, and other control signaling from the base station to UEs, and an uplink control channel for carrying service requests and other control signaling from UEs to the base station, and each coverage area may define downlink and uplink traffic channels or the like for carrying bearer traffic between the base station and UEs.
When a UE initially enters into coverage of a wireless communication system, the UE may detect a reference signal and read system information broadcast from a base station. The UE may then engage in a process to register itself with the base station. For instance, the UE may transmit an attach or registration message on an uplink control channel to the base station, and the base station and/or supporting infrastructure may then responsively authenticate and authorize the UE for service, establish a record indicating where in the system the UE is operating, establish local profile or context records for the UE, and provide an attach accept or registration response message to the UE. Thereafter, the UE may then be served by the system in an idle mode or a connected/active mode. In the idle mode, the UE may monitor a downlink control channel to check for page messages and other information regarding incoming communications and may similarly transmit uplink control signaling to initiate communications or for other reasons. In the connected/active mode, the UE may have particular traffic channel resources assigned by the base station, which the UE may use to engage in communication of bearer traffic and the like.
Further, in such wireless communication systems, a media server sometimes communicates streaming media content to UEs, and therefore, base stations sometimes transmit streaming media content to their served UEs. Such streaming media content may include audio and/or video. While a UE is receiving streaming media content, variations in network conditions can adversely affect the user experience. For example, if the available bandwidth suddenly decreases, a user of the UE may notice a degradation in media stream quality, such as a media stream that stalls or buffers.
Adaptive bit rate streaming is one technique to reduce such problems. Adaptive bit rate streaming works by adjusting in real time the bit rate of the streaming media content based on knowledge of a UE's wireless conditions. The bit rate refers to the number of bits that are conveyed or streamed per unit of time (e.g., number of bits per second).
In one implementation, an encoder encodes a particular instance of media content at multiple bit rates, yielding multiple versions of the instance of media content each having a different bit rate. For instance the encoder may establish different versions having different bit rates by changing the frame rate and/or resolution at which each version is encoded.
Further, to stream the instance of media content to the UE, the media server then selects an appropriate version of the instance of media content, and communicates the selected version to the UE. As the media server streams the instance of media content to the UE, the media server may switch between streaming different versions to the UE depending on the UE's wireless conditions. For example, initially, the media server may stream a version of the instance of media content with a first bit rate. As the UE receives streaming media content from the media server, the UE or the UE's serving base station may send a message to the media server regarding the UE's RF conditions. And if, for instance, the UE's RF conditions degrade, the media server may switch to streaming a version of the instance of media content that is encoded at a lower bit rate than the first bit rate. Adjusting the bit rate over time may reduce buffering time and allow faster starting times. Further, the ability to adjust the bit rate for different UEs may enable the media server to provide good user experiences for both UEs with good wireless conditions and UEs with poorer wireless conditions.